package pe.edu.upc.dew.grupo5.service;

import pe.edu.upc.dew.grupo5.dao.FuncionDao;
import pe.edu.upc.dew.grupo5.dao.SalaDao;
import pe.edu.upc.dew.grupo5.model.Funcion;
import pe.edu.upc.dew.grupo5.model.Sala;

public class FuncionServiceImpl implements FuncionService {
	private FuncionDao funcionDao;
	private SalaDao salaDao;

	public void setFuncionDao(FuncionDao funcionDao) {
		this.funcionDao = funcionDao;
	}

	@Override
	public Funcion getFuncionPorCodigo(int idFuncion) {
		return funcionDao.getFuncionPorCodigo(idFuncion);
	}

	@Override
	public int obtenerBoletosVendidos(int idFuncion) {
		return this.funcionDao.obtenerBoletosVendidos(idFuncion);
	}

	@Override
	public int entradasDisponibles(int idFuncion) {
		Funcion funcion = funcionDao.getFuncionPorCodigo(idFuncion);
		Sala sala = salaDao.getSalaPorCodigo(funcion.getIdSala());
		int capacidadDeSala = sala.getCapacidad();
		int entradasVendidas = this.obtenerBoletosVendidos(idFuncion);
		return capacidadDeSala - entradasVendidas; 
	}

	public void setSalaDao(SalaDao salaDao) {
		this.salaDao = salaDao;
	}

}
